#pragma once
#include <Adafruit_GFX.h>

// Picopixel by Sebastian Weber.  A tiny font
// with all characters within a 6 pixel height.

const uint8_t MyFontBitmaps[] PROGMEM = {
  0xE8, 0xB4, 0x57, 0xD5, 0xF5, 0x00, 0x4E, 0x3E, 0x80, 0xA5, 0x4A, 0x4A,
  0x5A, 0x50, 0xC0, 0x6A, 0x40, 0x95, 0x80, 0xAA, 0x80, 0x5D, 0x00, 0x60,
  0xE0, 0x80, 0x25, 0x48, 0xF6, 0xDE, 0x59, 0x2E, 0xE7, 0xCE, 0xE7, 0x9E,
  0xB7, 0x92, 0xF3, 0x9E, 0xF3, 0xDE, 0xE4, 0x92, 0xF7, 0xDE, 0xF7, 0x9E,
  0xA0, 0x46, 0x64, 0xE3, 0x80, 0x98, 0xC5, 0x04, 0x56, 0xC6,
  0x69, 0x9F, 0x90,        // A 58 - 60
  0xE9, 0xA9, 0xE0,        // B 61 - 63
  0x78, 0x88, 0x70,        // C 64 - 66
  0xE9, 0x99, 0xE0,        // D 67 - 69
  0xF3, 0xCE,              // E 70 - 71
  0xF3, 0xC8,              // F 72 - 73
  0x78, 0xB9, 0x70,        // G 74 - 76
  0xB7, 0xDA,              // H 77 - 78
  0xE9, 0x2E,              // I 79 - 80
  0x11, 0x19, 0x60,        // J 81 - 83
  0x9A, 0xCA, 0x90,        // K 84 - 86
  0x92, 0x4E,              // L 87 - 88
  0x8E, 0xEB, 0x18, 0x80,  // M 89 - 92
  0x9D, 0xDB, 0x90,        // N 93 - 95
  0x69, 0x99, 0x60,        // O 96 - 98
  0xE9, 0x9E, 0x80,        // P 99 - 101
  0x69, 0x9B, 0x70,        // Q 102 - 104
  0xE9, 0x9E, 0x90,        // R 105 - 107
  0x78, 0x61, 0xE0,        // S 108 - 110
  0xE9, 0x24,              // T 111 - 112
  0x99, 0x99, 0x60,        // U 113 - 115
  0xB6, 0xD4,              // V 116 - 117
  0x8C, 0x6B, 0x55, 0x00,  // W 118 - 121
  0x8A, 0x88, 0xA8, 0x80,  // X 122 - 125
  0x8C, 0x5C, 0x42, 0x00,  // Y 126 - 129
  0xF8, 0x88, 0x8F, 0x80,  // Z 130 - 133
  0xEA, 0xC0,              // [ 134 - 135
  0x91, 0x12,              // '\' 136 - 137
  0xD5, 0xC0,              // ] 138 - 139
  0x54,                    // ^ 140
  0xF0,                    // _ 141
  0x90,                    // ` 142
  0xC7, 0xF0,              // a 143 - 144
  0x93, 0x5E,              // b
  0x71, 0x80,              // c
  0x25, 0xDE,              // d
  0x5E, 0x30,              // e
  0x6E, 0x80,              // f
  0x77, 0x9C,              // g
  0x93, 0x5A,              // h
  0xB8,                    // i
  0x45, 0x60,              // j
  0x92, 0xEA,              // k
  0xAA, 0x40,              // l
  0xD5, 0x6A,              // m
  0xD6, 0x80,              // n
  0x55, 0x00,              // o
  0xD7, 0x40,              // p
  0x75, 0x90,              // q
  0xE8,                    // r
  0x71, 0xE0,              // s
  0xBA, 0x40,              // t
  0xB5, 0x80,              // u
  0xB5, 0x00,              // v
  0x8D, 0x54,              // w
  0xAA, 0x80,              // x
  0xAC, 0xE0,              // y
  0xE5, 0x70,              // z
  0x6A, 0x26,              // {
  0xFC,                    // |
  0xC8, 0xAC,              // }
  0x5A                     // ~
};

const GFXglyph MyFontGlyphs[] PROGMEM = { { 0, 0, 0, 2, 0, 1 },       // 0x20 ' '
                                          { 0, 1, 5, 2, 0, -4 },      // 0x21 '!'
                                          { 1, 3, 2, 4, 0, -4 },      // 0x22 '"'
                                          { 2, 5, 5, 6, 0, -4 },      // 0x23 '#'
                                          { 6, 3, 6, 4, 0, -4 },      // 0x24 '$'
                                          { 9, 3, 5, 4, 0, -4 },      // 0x25 '%'
                                          { 11, 4, 5, 5, 0, -4 },     // 0x26 '&'
                                          { 14, 1, 2, 2, 0, -4 },     // 0x27 '''
                                          { 15, 2, 5, 3, 0, -4 },     // 0x28 '('
                                          { 17, 2, 5, 3, 0, -4 },     // 0x29 ')'
                                          { 19, 3, 3, 4, 0, -3 },     // 0x2A '*'
                                          { 21, 3, 3, 4, 0, -3 },     // 0x2B '+'
                                          { 23, 2, 2, 3, 0, 0 },      // 0x2C ','
                                          { 24, 3, 1, 4, 0, -2 },     // 0x2D '-'
                                          { 25, 1, 1, 2, 0, 0 },      // 0x2E '.'
                                          { 26, 3, 5, 4, 0, -4 },     // 0x2F '/'
                                          { 28, 3, 5, 4, 0, -4 },     // 0x30 '0'
                                          { 30, 3, 5, 4, 0, -4 },     // 0x31 '1'
                                          { 32, 3, 5, 4, 0, -4 },     // 0x32 '2'
                                          { 34, 3, 5, 4, 0, -4 },     // 0x33 '3'
                                          { 36, 3, 5, 4, 0, -4 },     // 0x34 '4'
                                          { 38, 3, 5, 4, 0, -4 },     // 0x35 '5'
                                          { 40, 3, 5, 4, 0, -4 },     // 0x36 '6'
                                          { 42, 3, 5, 4, 0, -4 },     // 0x37 '7'
                                          { 44, 3, 5, 4, 0, -4 },     // 0x38 '8'
                                          { 46, 3, 5, 4, 0, -4 },     // 0x39 '9'
                                          { 48, 1, 3, 2, 0, -3 },     // 0x3A ':'
                                          { 49, 2, 4, 3, 0, -3 },     // 0x3B ';'
                                          { 50, 2, 3, 3, 0, -3 },     // 0x3C '<'
                                          { 51, 3, 3, 4, 0, -3 },     // 0x3D '='
                                          { 53, 2, 3, 3, 0, -3 },     // 0x3E '>'
                                          { 54, 3, 5, 4, 0, -4 },     // 0x3F '?'
                                          { 56, 3, 5, 4, 0, -4 },     // 0x40 '@'
                                          { 58, 4, 5, 5, 0, -4 },     // 0x41 'A'
                                          { 61, 4, 5, 5, 0, -4 },     // 0x42 'B'
                                          { 64, 4, 5, 5, 0, -4 },     // 0x43 'C'
                                          { 67, 4, 5, 5, 0, -4 },     // 0x44 'D'
                                          { 70, 3, 5, 4, 0, -4 },     // 0x45 'E'
                                          { 72, 3, 5, 4, 0, -4 },     // 0x46 'F'
                                          { 74, 4, 5, 5, 0, -4 },     // 0x47 'G'
                                          { 77, 3, 5, 4, 0, -4 },     // 0x48 'H'
                                          { 79, 3, 5, 4, 0, -4 },     // 0x49 'I'
                                          { 81, 4, 5, 5, 0, -4 },     // 0x4A 'J'
                                          { 84, 4, 5, 5, 0, -4 },     // 0x4B 'K'
                                          { 87, 3, 5, 4, 0, -4 },     // 0x4C 'L'
                                          { 89, 5, 5, 6, 0, -4 },     // 0x4D 'M'
                                          { 93, 4, 5, 5, 0, -4 },     // 0x4E 'N'
                                          { 96, 4, 5, 5, 0, -4 },     // 0x4F 'O'
                                          { 99, 4, 5, 5, 0, -4 },     // 0x50 'P'
                                          { 102, 4, 5, 5, 0, -4 },    // 0x51 'Q'
                                          { 105, 4, 5, 5, 0, -4 },    // 0x52 'R'
                                          { 108, 4, 5, 5, 0, -4 },    // 0x53 'S'
                                          { 111, 3, 5, 4, 0, -4 },    // 0x54 'T'
                                          { 113, 4, 5, 5, 0, -4 },    // 0x55 'U'
                                          { 116, 3, 5, 4, 0, -4 },    // 0x56 'V'
                                          { 118, 5, 5, 6, 0, -4 },    // 0x57 'W'
                                          { 122, 5, 5, 6, 0, -4 },    // 0x58 'X'
                                          { 126, 5, 5, 6, 0, -4 },    // 0x59 'Y'
                                          { 130, 5, 5, 6, 0, -4 },    // 0x5A 'Z'
                                          { 134, 2, 5, 3, 0, -4 },    // 0x5B '['
                                          { 136, 3, 5, 4, 0, -4 },    // 0x5C '\'
                                          { 138, 2, 5, 3, 0, -4 },    // 0x5D ']'
                                          { 140, 3, 2, 4, 0, -4 },    // 0x5E '^'
                                          { 141, 4, 1, 4, 0, 1 },     // 0x5F '_'
                                          { 142, 2, 2, 3, 0, -4 },    // 0x60 '`'
                                          { 143, 3, 4, 4, 0, -3 },    // 0x61 'a'
                                          { 145, 3, 5, 4, 0, -4 },    // 0x62 'b'
                                          { 147, 3, 3, 4, 0, -2 },    // 0x63 'c'
                                          { 149, 3, 5, 4, 0, -4 },    // 0x64 'd'
                                          { 151, 3, 4, 4, 0, -3 },    // 0x65 'e'
                                          { 153, 2, 5, 3, 0, -4 },    // 0x66 'f'
                                          { 155, 3, 5, 4, 0, -3 },    // 0x67 'g'
                                          { 157, 3, 5, 4, 0, -4 },    // 0x68 'h'
                                          { 159, 1, 5, 2, 0, -4 },    // 0x69 'i'
                                          { 160, 2, 6, 3, 0, -4 },    // 0x6A 'j'
                                          { 162, 3, 5, 4, 0, -4 },    // 0x6B 'k'
                                          { 164, 2, 5, 3, 0, -4 },    // 0x6C 'l'
                                          { 166, 5, 3, 6, 0, -2 },    // 0x6D 'm'
                                          { 168, 3, 3, 4, 0, -2 },    // 0x6E 'n'
                                          { 170, 3, 3, 4, 0, -2 },    // 0x6F 'o'
                                          { 172, 3, 4, 4, 0, -2 },    // 0x70 'p'
                                          { 174, 3, 4, 4, 0, -2 },    // 0x71 'q'
                                          { 176, 2, 3, 3, 0, -2 },    // 0x72 'r'
                                          { 177, 3, 4, 4, 0, -3 },    // 0x73 's'
                                          { 179, 2, 5, 3, 0, -4 },    // 0x74 't'
                                          { 181, 3, 3, 4, 0, -2 },    // 0x75 'u'
                                          { 183, 3, 3, 4, 0, -2 },    // 0x76 'v'
                                          { 185, 5, 3, 6, 0, -2 },    // 0x77 'w'
                                          { 187, 3, 3, 4, 0, -2 },    // 0x78 'x'
                                          { 189, 3, 4, 4, 0, -2 },    // 0x79 'y'
                                          { 191, 3, 4, 4, 0, -3 },    // 0x7A 'z'
                                          { 193, 3, 5, 4, 0, -4 },    // 0x7B '{'
                                          { 195, 1, 6, 2, 0, -4 },    // 0x7C '|'
                                          { 196, 3, 5, 4, 0, -4 },    // 0x7D '}'
                                          { 198, 4, 2, 5, 0, -3 } };  // 0x7E '~'

const GFXfont MyFont PROGMEM = { (uint8_t *)MyFontBitmaps,
                                 (GFXglyph *)MyFontGlyphs, 0x20, 0x7E, 7 };

// Approx. 852 bytes
